Cloud computing is the use of computing resources (hardware and software) which are available in a remote location and accessible over a network, such as the Internet. Users are able to buy these computing resources (including storage and computing power) as a utility on demand. Cloud computing entrusts remote services with a user's data, software and computation. Use of virtual computing resources can provide a number of advantages including cost advantages and/or ability to adapt rapidly to changing computing resource needs.
In some cases, virtual machine instances execute under a virtualization layer that exposes a logical volume stored on partitions distributed between data storage servers. However, determining how volume partitions should be distributed to achieve optimal performance, durability, and availability can be challenging, particularly when conditions, constraints, and partition locations can change over time.